package day18.Junit_reflect_annotation_proxy.Junitdemo;


import org.junit.Assert;
import org.junit.Test;//标记这不是普通的类 是测试类




//对业务类中的业务方法进行正确性测试
public class demo1Test
{//要求测试方法是：公共，无返回值，无参
    @Test
    public void testgetLength()
    {       //测试步骤,测试用例一定要全面
        demo1.getLength("你好");//2           //只要你的测试用例能让业务方法抛异常，就说明测试不通过
                                           // 也就是说你的测试用例必须全面  。但是有些时候不能说没抛异常就说明通过而是看结果对不对
        demo1.getLength("hello");//5
        demo1.getLength("");//0
        demo1.getLength(null);//-1
                //   断言 （预言结果）                                        //必须返回值才能添这里啊，要不然你添这里，又不改返回值，相当于添了个void
        Assert.assertEquals("长度不正确",5, demo1.getLength("hello"));
    }
    @Test
    public void testgetMaxIndex()
    {
       // int index1=demo1.getMaxIndex("abc");//2       判断是否异常
        int index2= demo1.getMaxIndex("hello");//4
        int index3= demo1.getMaxIndex("");//-1
        int index4= demo1.getMaxIndex(null);//-1
      //做预言  判断结果是否正确  第一个参数是，不通过给你的提示话语，第二个是预期值，第三个是目标
        Assert.assertEquals("本轮测试不通过",2, demo1.getMaxIndex("abc"));
        Assert.assertEquals("本轮测试不通过",4,index2);


     //  System.out.println(index1);
        System.out.println(index2);
        System.out.println(index3);
        System.out.println(index4);
    }
}
